Firebird shadowing

Otázka od: Andreas Bednarek

20. 10. 2004 9:45

Ahoj vsem,

mam nejakou nejasnost ohledne stinovani FB databaze, muzete-li mi poradit...

Rekneme, ze mam hlavni db soubor 'd:\data.fdb'

vytvorim shadow v automatickem rezimu a conditional na 'e:\data.shd'

CREATE SHADOW 1 AUTO CONDITIONAL 'e:\data.shd'


V pripade selhani disku D s primarni DB (ci jakemkoli znepristupneni souboru
DB) ocekavam, ze
a) 'e:\data.shd' prevezme ulohu primarni databaze bez preruseni spojeni k DB
(AUTO)
b) vytvori se novy stinovy soubor (CONDITIONAL) (to i v pripade selhani E...)


Otazky
ad a) Tohle bude fungovat zrejme do te doby, nez se klient od DB odpoji, mam
pravdu? Nebot pri novem pokusu o pripojeni budu pravdepodobne zadat o
'd:\data.fdb', ktery neni pristupny. Nebo je to reseno jeste jinak?

ad b) kde a s jakym nazvem se ten novy stinovy soubor vytvori?

Nevim jak nasimulovat selhani disku a odpoved jsem v zadne dokumentaci nenasel.


Pokud vite, diky!
A.B.



Odpovedá: petr palicka

20. 10. 2004 10:37

> Nevim jak nasimulovat selhani disku a odpoved jsem v zadne dokumentaci
nenasel.

zkus to na USBflashdisk a vytahni ho za chodu. nebo to zkus na diskete s
nejakou malou databazickou a taky ji vyndej za behu databaze. hdd bych z
ide ksandy radeji za chodu neoddelaval, ale SATA disk by mohl jit (over
si to ale u nekoho chytrejsiho!!!).

peca


Odpovedá: Pavel Cisar

20. 10. 2004 11:18

Haj hou!

On 20 Oct 2004 at 10:45, Andreas Bednarek wrote:

> Ahoj vsem,
>
> mam nejakou nejasnost ohledne stinovani FB databaze, muzete-li mi
> poradit...
>
> Rekneme, ze mam hlavni db soubor 'd:\data.fdb'
>
> vytvorim shadow v automatickem rezimu a conditional na 'e:\data.shd'
>
> CREATE SHADOW 1 AUTO CONDITIONAL 'e:\data.shd'
>
>
> V pripade selhani disku D s primarni DB (ci jakemkoli znepristupneni souboru
DB) ocekavam, ze
> a) 'e:\data.shd' prevezme ulohu primarni databaze bez preruseni spojeni k DB
(AUTO)

Ano. V okamziku opetovneho uvedeni disku primarni databaze do provozu
je tato aktualizovana z shadow. Shadow ovsem v prubehu "krize"
zustava stale shadow, a nestava se skutecnou primarni databazi (nelze
se k nemu pripojit primo). Stavajici pripojeni tedy mohou pracovat /
dokoncit praci, ale nova nelze vytvorit. Pokud se ma stat shadow
skutecnou primarni databazi, je nutne ukoncit vsechna spojeni a
pouzit gfix pro jeho aktivaci jako primarni db stejne jako u rezimu
manual.

> b) vytvori se novy stinovy soubor (CONDITIONAL) (to i v pripade selhani E...)

Ne. Ja vim, ze dokumentace pravi ze ano, ale skutecnost je jina.
Podle zdrojovych textu Firebirdu a IB6 je tahle funkcionalita
rozbita, a nemam tuseni kdy k tomu doslo a zda vubec nekdy fungovala
(nemam pristup k IB pred verzi 4). Ve zdrojacich je to nejasne.
Ohledne conditional se zdrojak odvolava na kod a parametry ktere tam
proste nikde nejsou inicializovane (a nevim zda nekdy byly, ale podle
dokumentace zrejme ano).

Da se rici, ze parametr CONDITIONAL je v soucasnosti jednoduse
ignorovan.

> Nevim jak nasimulovat selhani disku a odpoved jsem v zadne dokumentaci
nenasel.

Pouzij disketu.

S pozdravem
Pavel Cisar ( ICQ: 89017288)
Mobil: 724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase


Odpovedá: Andreas Bednarek

20. 10. 2004 12:40

Zdravim,

>> b) vytvori se novy stinovy soubor (CONDITIONAL) (to i v pripade selhani
>> E...)
>
> Ne. Ja vim, ze dokumentace pravi ze ano, ale skutecnost je jina.
> Podle zdrojovych textu Firebirdu a IB6 je tahle funkcionalita
> rozbita, a nemam tuseni kdy k tomu doslo a zda vubec nekdy fungovala
> (nemam pristup k IB pred verzi 4). Ve zdrojacich je to nejasne.
> Ohledne conditional se zdrojak odvolava na kod a parametry ktere tam
> proste nikde nejsou inicializovane (a nevim zda nekdy byly, ale podle
> dokumentace zrejme ano).
>
> Da se rici, ze parametr CONDITIONAL je v soucasnosti jednoduse
> ignorovan.
>

Tohle je tedy necekane. Zrejme disky nehori tak casto, takze clovek nemusi
nikdy prijit na to, ze CONDITIONAL nepracuje. Skoda, snad to nekdy nekdo
spravi, kdyz uz je to vsude zdokumentovane (vcetne Tve knihy o IB/FB  
Tenhle parametr tedy radeji pouzivat nebudu...(ostatne to prece jen
vyzkousim, je-li to opravdu tak)

>> Nevim jak nasimulovat selhani disku a odpoved jsem v zadne dokumentaci
>> nenasel.
>
> Pouzij disketu.
>

Ehm...jaktoze me to...ja jsem totiz.... (disketa? takoveto male ctverate cca
3.5 palce? kde uz jsem o tom....  
Ne vazne - jak proste!!

>zkus to na USBflashdisk a vytahni ho za chodu. nebo to zkus na diskete s
>nejakou malou databazickou a taky ji vyndej za behu databaze. hdd bych z
>ide ksandy radeji za chodu neoddelaval, ale SATA disk by mohl jit (over
>si to ale u nekoho chytrejsiho!!!).

Ta disketa bude snad stacit (me drahe SATA disky jsou mi prave prilis drahe,
nekde jsem take slysel, ze se disku nic nestane kdyz vytahnu kabel, ale take
bych to nerad odpojil v okamziku, kdy se posilaji data pro zapis do FAT ci
podobne... 

(Co se stane, kdyz se v prubehu pouzivani pouze stinu opet zpristupni hlavni
soubor si uz overim s tou disketou, ale pocitam, ze se zmeny ve stinu opet
odzrcadli v hlavni db...)


Dekuji
A.B.